跳到主要内容

v4 文件相关说明

以下说明仅支持 后台应用 systemv4版本为 1.1.18.6 或者以上

上传到 服务器上

v4 后台上传路径配置

在 nacos 中可以配置上传/升成文件的路径,参考以下截图

img_1.png

此配置 如果没有配置的话

linux 环境默认 为

/usr/local/tomcat/files

windows 环境默认 为

D:/resource

success

如没有特殊情况 请使用默认配置

v4 后台 文件存储位置

以 linux 环境 af-revenue 服务举例

上传文件会存储到 af-revenue 容器中 /usr/local/tomcat/files/af-revenue/[filetype]/xxx/xx 目录下, xxx 为不同功能存储路径或者内容不一样,

比如存储了一个图片到 /usr/local/tomcat/files/af-revenue/png/2021/09/06/xxx.jpg 这个位置,

在 af-revenue 这个服务的 容器中 目录就是 /usr/local/tomcat/files/af-revenue/png/2021/09/06/xxx.jpg

在 宿主机中存储的映射的目录 通常是 容器的 /usr/local/tomcat/files 映射到 /var/af/v4service/v4files

所以文件实际存放在 宿主机的 /var/af/v4service/v4files/af-revenue/png/2021/09/06/xxx.jpg 这个位置

PixPin_2024-09-06_16-48-24.png

以 windows 环境 af-revenue 服务举例

上传文件会存储到 D:/resource/af-revenue/[filetype]/xxx/xx 目录下, xxx 为不同功能存储路径或者内容不一样,

比如存储了一个图片到 D:/resource/af-revenue/png/2021/09/06/xxx.jpg 这个位置,

在 windows 环境下 没有宿主机、服务容器的概念,

所以实际存储到的还是 D:/resource/af-revenue/png/2021/09/06/xxx.jpg 这个位置

nginx 转发 获取资源

linux 下 转发请求到资源

如果 服务部署在 linux 环境下 通常会发送三种请求获取文件 ,

  1. 通过 完整路径获取文件

    比如 文件在 /usr/local/tomcat/files/af-revenue/png/2021/09/06/xxx.jpg 目录下

    发送的请求是 http://ip:port/usr/local/tomcat/files/af-revenue/png/2021/09/06/xxx.jpg

    这种 情况需要的 nginx 配置 如下

    location ~* ^/usr/local/tomcat/files/.*\.(png|jpg|webp|doc|docx|gif|xlsx|xls|pdf|txt|zip|rar|7z|dwg)$ {
    if ($request_uri ~* "files") {
    root /;
    }
    }

这种方式后期会逐渐变成 第二种方式

  1. 根目录 替换成 resource 进行访问

    比如 文件在 /usr/local/tomcat/files/af-revenue/png/2021/09/06/xxx.jpg 目录下

    发送的请求是 http://ip:port/resource/af-revenue/png/2021/09/06/xxx.jpg

    这种 情况需要的 nginx 配置 如下

    location /resource/ {
    alias /usr/local/tomcat/files/;
    try_files $uri $uri/ =404;
    }
  2. 通过对应业务制定接口 获取文件

    这种情况没有特定的配置,需要开发根据业务自行处理

windwos 下 转发请求到资源

如果 服务部署在 windows 环境下 通常会发送三种请求获取文件 ,

  1. 通过 完整路径获取文件

    比如 文件在 D:/resource/af-revenue/png/2021/09/06/xxx.jpg 目录下

    发送的请求是 http://ip:port/resource/af-revenue/png/2021/09/06/xxx.jpg

    这种 情况需要的 nginx 配置 如下

    location ~* ^/resource/.*\.(png|jpg|webp|doc|docx|gif|xlsx|xls|pdf|txt|zip|rar|7z|dwg)$ {
    if ($request_uri ~* "files") {
    root D:;
    }
    }

    或者

    location /resource/ {
    alias D:/resource/;
    try_files $uri $uri/ =404;
    }
  2. 根目录 替换成 resource 进行访问

    因为 根目录 就是 resource 所以 和上面的配置一样,如果要换目录 联系运维或者开发负责人

  3. 通过对应业务制定接口 获取文件

    这种情况没有特定的配置,需要开发根据业务自行处理

导出文件相关

导出文件存储位置

以 linux 环境下 af-revenue 举例

导出 文件的位置通常储存在 文件根目录下 /usr/local/tomcat/files/af-revenue/excel/commonExport_3e5bf7d1dc0e4336a575f711417b8840.xls

所以 需要增加以下 nginx 配置下载导出文件


# 导出excel资源映射
location /res/excel/export/ {
alias /usr/local/tomcat/files/;
try_files $uri $uri/ =404;
}

以 windows 环境下 af-revenue 举例

导出 文件的位置通常储存在 文件根目录下 D:/resource/af-revenue/excel/commonExport_3e5bf7d1dc0e4336a575f711417b8840.xls

所以 需要增加以下 nginx 配置下载导出文件


# 导出excel资源映射
location /res/excel/export/ {
alias d:/resource/;
try_files $uri $uri/ =404;
}

上传到 oss 上

暂未补充文档